On automating the extraction of programs from proofs using product types
نویسندگان
چکیده
Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). • The specifications are the types and the lambda-terms are the extracted programs (the code). Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). • The specifications are the types and the lambda-terms are the extracted programs (the code). • The verification of the types (compilation) is a proof of program. Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). • The specifications are the types and the lambda-terms are the extracted programs (the code). • The verification of the types (compilation) is a proof of program. • The ProPre system was designed as a prototype to show the feasibility of the theory. Motivation • The difficulty is to find formal proofs automatically. Motivation • The difficulty is to find formal proofs automatically. The term quot(x, y, y) computes ⌊ x y ⌋. Motivation • The difficulty is to find formal proofs automatically. The term quot(x, y, y) computes ⌊ x y ⌋. • The proofs are expressed in natural deduction style. Motivation • The difficulty is to find formal proofs automatically. The term quot(x, y, y) computes ⌊ x y ⌋. • The proofs are expressed in natural deduction style. • The automated termination proofs = techniques of rewriting systems. Motivation • Is it possible to go further than the ProPre system but using the same theory ? Motivation • Is it possible to go further than the ProPre system but using the same theory ? • We analyse the proofs made in the system. Motivation • Is it possible to go further than the ProPre system but using the same theory ? • We analyse the proofs made in the system. • We then develop some particular formal proofs using product types. Motivation • Is it possible to go further than the ProPre system but using the same theory ? • We analyse the proofs made in the system. • We then develop some particular formal proofs using product types. • The formal proofs are released from the termination part. Motivation • Is it possible to go further than the ProPre system but using …
منابع مشابه
On Automating the Extraction of Programs from Termination Proofs
We investigate an automated program synthesis system that is based on the paradigm of programming by proofs. To automatically extract a λ-term that computes a recursive function given by a set of equations the system must find a formal proof of the totality of the given function. Because of the particular logical framework, usually such approaches make it difficult to use termination techniques...
متن کاملAutomated Proof and Program Development
The aim of this paper is to present proof and program development in in-tuitionistic logic and attempt to automating this with tactics and strategies. It is important in computer science to have correct programs and much work has been devoted to this aspect. Typically, the study of the relationships between intuitionistic logic and computer science leads to the programming with proofs, i.e., ex...
متن کاملExtracting Recursive Programs in Type Theory
Martin-LL of's constructive type theory is a foundational theory of mathematics and programming. The key to using type theory as a logic is the formulas as types principle, whereby propositional assertions are directly expressed by types. Furthermore, using the extraction method programs can automatically be extracted from proofs. One weakness of the use of the extraction method to date, howeve...
متن کاملThe Semantics of Reflected Proof
We begin to lay the foundations for reasoning about proofs whose steps include both invocations of programs to build subproofs (tactics) and references to representations of proofs themselves (reflected proofs). The main result is the definition of a single type of proof which can mention itself, using a new technique which finds a fixed point of a mapping between metalanguage and object langua...
متن کاملInternal Program Extraction in the Calculus of Inductive Constructions
Based on the Calculus of Constructions extended with in-ductive deenitions we present a Theory of Speciications with rules for simultaneously constructing programs and their correctness proofs. The theory contains types for representing speciications, whose corresponding notion of implementation is that of a pair formed by a program and a correctness proof. The rules of the theory are such that...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 67 شماره
صفحات -
تاریخ انتشار 2002